package cn.darkhorse.workflow.auto.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 工作流任务相关信息
 * </p>
 *
 * @author mybatis-plus-generator
 * @since 2020-07-03
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class BpmnTask implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 表bpmn_process的主键
     */
    private Long processId;

    /**
     * 任务id,对应bpmn文件中的id <bpmn2:userTask id="Activity_0exnvse">
     */
    private String taskKey;

    /**
     * 任务名称
     */
    private String taskName;

    /**
     * 任务描述
     */
    private String taskDescription;

    /**
     * 任务类型（userTask等）
     */
    private String taskType;

    /**
     * 可选审批意见（1/同意、2/不同意、3/否决），以英文逗号隔开
     */
    private String approvalOption;

    /**
     * 候选人员，对应bpmn_sys_user表中的user_id,用逗号分隔
     */
    private String candidateUser;

    /**
     * 候选岗位,多个岗位用英文小写逗号隔开
     */
    private String candidatePost;

    /**
     * 相对岗位，只能有一个
     */
    private String candidateRelativePost;

    /**
     * 知会人id，对应bpmn_sys_user表中的userId，多个人用英文逗号隔开
     */
    private String sendNotifications;

    /**
     * 是否为抢占任务 0/否   1/是
     */
    private Integer isClaim;

    /**
     * 创建时间
     */
    private LocalDateTime gmtCreate;

    /**
     * 修改时间
     */
    private LocalDateTime gmtModified;

    /**
     * 接收岗位（sys_post表内编码post_code）
     */
    private String sendPost;


}
